﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using InterfaceRemota;

namespace Gerenciamento
{
    [Serializable()]
    public class UsuarioImpl : InterfaceRemota.IUsuario
    {
        private String nome;
        public String Nome
        {
            get { return nome; }
            set { nome = value; }
        }

        private String login;
        public String Login
        {
            get { return login; }
            set { login = value; }
        }

        private List<InterfaceRemota.IMensagem> mensagens;
        public List<InterfaceRemota.IMensagem> Mensagens
        {
            get
            {
                if (mensagens == null)
                {
                    mensagens = new List<InterfaceRemota.IMensagem>();
                }
                return mensagens;
            }
            set { mensagens = value; }
        }

        private List<InterfaceRemota.IUsuario> usuariosConectados;
        public List<InterfaceRemota.IUsuario> UsuariosConectados
        {
            get
            {
                if (usuariosConectados == null)
                {
                    usuariosConectados = new List<InterfaceRemota.IUsuario>();
                }
                return usuariosConectados;
            }
            set { usuariosConectados = value; }
        }

        public void atualizaForm()
        {
        }

        public void recebeMensagem(InterfaceRemota.IMensagem mensagem)
        {
            Mensagens.Add(mensagem);
        }

        public void chamaAtencao()
        {
        }


        private Hashtable usuariosNoPrivado;
        public Hashtable UsuariosNoPrivado
        {
            get
            {
                if (usuariosNoPrivado == null)
                {
                    usuariosNoPrivado = new Hashtable();
                }
                return usuariosNoPrivado;
            }
            set { usuariosNoPrivado = value; }
        }

        public void enviaMensagemPrivada(InterfaceRemota.IUsuario destino,
            InterfaceRemota.IMensagem mensagem)
        {
        }

        public void recebeMensagemPrivada(InterfaceRemota.IUsuario origem,
            InterfaceRemota.IMensagem mensagem)
        {
        }

        public void recebeArquivo(byte[] arquivo, String fileName,
            IUsuario origem, IMensagem mensagem)
        {
        }
    }
}
